#ifndef MGCAPPLICATION_H
#define MGCAPPLICATION_H

#include <QApplication>
#include <QQmlApplicationEngine>

class MGCToolbox;

class MGCApplication : public QApplication
{
    Q_OBJECT
public:
    MGCApplication(int &argc, char* argv[]);

    void _initCommon();
    bool _initForNormalAppBoot();

public:
    static MGCApplication*  _app;

    MGCToolbox *toolbox() const;
    bool fakeMobile(void) const { return _fakeMobile; }

private:
    MGCToolbox* _toolbox = nullptr;
    QQmlApplicationEngine* _qmlAppEngine = nullptr;

    bool				_fakeMobile             = false;    ///< true: Fake ui into displaying mobile interface
};

MGCApplication* qgcApp(void);

#endif // MGCAPPLICATION_H
